﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Cosmos;

namespace JacOS
{
    public static class Commands
    {
        public static class help
        {
            public static string helpdoc = "The help command displays a list of avalible commands";
            public static string birthdate = "V0.1";
        }

        public static class cd
        {
            public static string helpdoc = "Allows the user to change the current directory.\n Level security is implemented for restricted access to certain directories.";
            public static string birthdate = "V0.1.9";
            public static string usage = "Usage:  cd [path]";
        }

        public static class echo
        {
            public static string helpdoc = "The echo command allows for a string of text (user-inputed) to be repeated back at you";
            public static string birthdate = "V0.2.1";
            public static string usage = "Usage:  echo [text]";
        }

        public static class info
        {
            public static string helpdoc = "The info command displays information about the JacOS operating system and specific details regarding such matters";
            public static string birthdate = "V0.1.3";
        }

        public static class friend
        {
            public static string helpdoc = "The friend command is a very simple 'AI' that is just a fun expirement";
            public static string birthdate = "V0.4.5";
        }

        public static class login
        {
            public static string helpdoc = "The login command allows you to logout of the guest account and login to a higher level account. If you do not know what account you should be loging into, see Jacob Misirian (creator)";
            public static string birthdate = "V0.6.7";
            public static string usage = "Usage:  login [UserName]";
        }

        public static class accounts
        {
            public static string helpdoc = "The accounts command displays the differant accounts that are available on this version of JacOS";
            public static string birthdate = "V0.6.9";
        }

        public static class myinfo
        {
            public static string helpdoc = "The myinfo command displays information about the currently logged on user";
            public static string birthdate = "V0.7.2;";
        }

        public static class log
        {
            public static string helpdoc = "The log command displays a log of all of the commands you've typed";
            public static string birthdate = "V.0.7.5";
        }

        public static class clrlog
        {
            public static string helpdoc = "The clrlog command clears the entries displayed in the log command";
            public static string birthdate = "V0.8.2";
        }

        public static class writeline
        {
            public static string helpdoc = "The writeline command writes a specefied number of lines to the screen";
            public static string birthdate = "V0.8.5";
            public static string usage = "Usage:  writeline [#lines]";
        }

        public static class last
        {
            public static string helpdoc = "The last command runs the last command that you typed";
            public static string birthdate = "V0.8.7";
        }

        public static class shutdown
        {
            public static string helpdoc = "The shutdown commmand shuts down JacOS so that you can remove the USB or whatever you are using";
            public static string birthdate = "V0.8.9";
        }

        public static class restart
        {
            public static string helpdoc = "The restart command logs out of the current account, changes the path to default, and sends everything back to the beginning";
            public static string birthdate = "V0.9.2";
        }

        public static class math
        {
            public static string helpdoc = "The math command allows for basic math calculations to be done (no decimals supported at this time)";
            public static string birthdate = "V.9.7";
        }

        public static class helpdocs
        {
            public static string helpdoc = "The helpdocs command lets you see help files for whatever command you choose";
            public static string birthdate = "V0.9.8";
            public static string usage = "Usage:  helpdocs [command]";
        }

        public static class settings
        {
            public static string helpdoc = "The settings command lets you change the fore/background color of the console";
            public static string birthdate = "V0.9.9";
        }

        public static class copy
        {
            public static string helpdoc = "The copy command allow for you to save a string of text";
            public static string birthdate = "V1.2";
            public static string usage = "Usage:  copy [text]";
        }

        public static class paste
        {
            public static string helpdoc = "The paste command prints the line of text that a usser has saved using copy";
            public static string birthdate = "V1.2.1";
        }

        public static class batch
        {
            public static string helpdoc = "The batch command allows you to type the commands like a batch file and then\nhave them execute. Type the commands (pressing enter each time) then type\nsave when you are done so that your script can be run using the batchSVG command";
            public static string birthdate = "V1.5";
        }

        public static class batchSVG
        {
            public static string helpdoc = "The batchSVG command allows you to run the batch script that you've created in an earlier instence of batch and saved using the \"save\" line";
            public static string birthdate = "V1.5";
        }

        public static class edit
        {
            public static string helpdoc = "The edit program allows for a text editor instence to be opened where a file\ncan be saved by typing \"save\" on a line or closed without saving by\ntyping \"end\". To display a saved file type editSVG";
            public static string birthdate = "V1.6.7";
        }

        public static class editSVG
        {
            public static string helpdoc = "The dedit command allows for you to display text you have saved in the edit program";
            public static string birthdate = "V1.7";
        }

        public static class pause
        {
            public static string helpdoc = "The pause command allows for a \"break\" in a batch program where the user must press enter to continue\nIt is used primarily for batch scripting and has a default message that can be changed\nby typing  pause [message]";
            public static string birthdate = "V1.8.8";
        }

        public static class clrscreen
        {
            public static string helpdoc = "The clrscreen command clears the entire screen of text";
            public static string birthdate = "V1.9.5";
        }

        public static class input
        {
            public static string helpdoc = "The input command allows you to store a string into a variable (a-z) that\ncan be used as an argument in another command";
            public static string birthdate = "V2.0";
            public static string usage = "Usage:  input [char]";
        }
    }
}
